#ifndef APLUGIN_H
#define APLUGIN_H

#include <QObject>

class Buffer;
class DataList;
class APlugin : public QObject
{
    Q_OBJECT
public:
    explicit APlugin(QObject *parent = 0);
    virtual ~APlugin(){}
    virtual int n_mono_inputs() = 0;
    virtual int n_mono_outputs() = 0;
    virtual void set_buffer(Buffer * buffer) = 0;
    virtual void set_data(DataList * data) = 0;
    virtual void process() = 0;
    virtual int delay() = 0;
signals:    
    void unload_me() = 0;
public slots:
    
};

#endif // APLUGIN_H
